/*
                              .                       .
,-,-. ," . , , ,-.    ,-. . . |-. ,-. ,-. ,-. . . ,-. | ,
| | | |- |/|/  `-. -- |   | | | | |-' |   | | | | | | |<
' ' ' |  ' '   `-'    `-' `-| ^-' `-' '   |-' `-^ ' ' ' `
      '                    /|             |
                          `-'             '
mfws-cyberpunk

- Mobile first screen sizes.
- Eighty column rule.
- Upper-case for 3-char hex.
- Lower-case for 6-char hex.
- Space after semi-colon if preceding a letter.
- TODO: Space or not after a colon?
- Only define classes when necessary.

*/

* {
    margin: 0;
    padding: 0;
}

html, body {
    height: 100%;
    font-size: initial;
    color: #333;
    background-color: #FFF;
}

body {
    margin: 0 auto;
    font-family: sans-serif;
    line-height: 1.4;
    width: 93.6%;
    max-width: 1024px;
}

ol, ul {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0 15px;
}
hr, hr.mfws {
    padding:0;
}

header.mfws *,
header.mfws:before {
    background-color: #000;
}
header.mfws,
header.mfws:before {
    height: 70px;
}
header.mfws:before {
    left: 0;
    position: absolute;
    top: 0;
    content: '';
    display: block;
    width: 100%;
    z-index: -10;
}
header.mfws nav ul {
    list-style-type: none;
}
header.mfws nav ul li {
    display: inline;
    padding: 0 20px 0 0;
    height: 70px;
}
header.mfws nav ul:nth-child(odd) li {
    float: left;
}
header.mfws nav ul:nth-child(even) li {
    float: right;
}
header.mfws nav ul li a,
header.mfws nav ul li a:active,
header.mfws nav ul li a:visited {
    text-decoration: none;
    font-weight: bold;
    display: block;
    height: 50px;
    padding-top:20px;
}
header.mfws nav:after {
    content: '';
    display: block;
    clear: both;
}


section.mfws {
    width: 100%;
    min-height: calc(100% - 160px);
}
section.mfws {
    padding-top: 16px;
    padding-bottom: 16px;
}


footer.mfws {
    left: 0;
    position: absolute;
    width: 80%;
    padding: 0 10%;
    box-sizing: initial;
}
footer.mfws,
footer.mfws *,
footer.mfws:before {
    background-color: #000;
}
footer.mfws,
footer.mfws:before {
    color: #FFF;
}
footer.mfws nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
footer.mfws nav div.widget,
footer.mfws p {
    flex-grow: 1;
    margin: 20px 0;
}
footer.mfws nav div.widget:last-child {
    flex-grow: 8;
    text-align: right;
}

@media only screen and (min-width: 640px) {
    body {
        min-width: 600px;
        width: 80%;
    }
    /*TODO: Fix the need for this flex bodge.*/
    footer.mfws nav {
        flex-direction: row;
    }
}

/* Non-layout styles follow: */

a {color:#aaaaff;}
a:visited {color:#ca8aff;}
a:hover {color:#FCF;}
a:active {color:#FFF;}
:focus {border:1px solid #ff00ff;}

h1, h2, h3, h4, h5, h6 {
    font-family:monospace;
    font-size:x-large;
    font-weight:700;
}
h1, h2, h3 {
    margin: 16px 0;
}
h4, h5, h6 {
    margin: 10px 0;
}
h1, .title {color:#ff1100;}
h2 {color:#ff9c00;}
h3 {color:#ff8c10;}
h4 {color:#ff7c20;}
h5 {color:#ff6c30;}
h6 {color:#ff5c40;}

/* NOTE: Currently, the site has no inputs. */
/* input[type="submit"] { */
/*     padding:0.618em;  */
/*     border:none;  */
/*     border-radius:0.618em; */
/* } */
img {max-width:100%;}

pre {white-space: pre;}
pre.src {
    background-color:#000;
    color:#0F0;
    font-family:monospace;
}
blockquote {
    background:#328;
    color:#CCC;
    font-family:serif;
}


table {
    background-color:#222;
    color:#CCC;
}
tr:nth-child(even) {
    background-color:#CCC;
    color:#222;
}

.hash {font-family: monospace;}
